# Copyright (C) 2011 The Bochs Project
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA


.SUFFIXES: .cc

srcdir = .

top_builddir    = ../..
top_srcdir      = ../..

SHELL = /bin/sh



CXX = cl
CXXFLAGS = /nologo /MT /W3 /EHs-c- /DNDEBUG /DWIN32 /D_WINDOWS /D_CRT_SECURE_NO_WARNINGS /Ox 

LDFLAGS = 
LIBS = 
RANLIB = echo

BX_INCDIRS = -I.. -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. -I../../instrument/stubs -I$(srcdir)/../../instrument/stubs

CPUDB_OBJS = pentium_mmx.o \
             amd_k6_2_chomper.o  \
             p2_klamath.o \
             p3_katmai.o \
             p4_willamette.o \
             p4_prescott_celeron_336.o \
             athlon64_clawhammer.o \
             athlon64_venice.o \
             turion64_tyler.o \
             phenomx3_8650_toliman.o \
             core_duo_t2400_yonah.o \
             core2_penryn_t9600.o \
             corei5_lynnfield_750.o \
             corei5_arrandale_m520.o \
             corei7_sandy_bridge_2600K.o \
             corei7_ivy_bridge_3770K.o \
             atom_n270.o

BX_INCLUDES = ../../bochs.h ../../config.h


all: libcpudb.a

.cc.o:
	$(CXX) /c $(BX_INCDIRS) $(CXXFLAGS) /Tp$< /Fo$@


libcpudb.a: $(CPUDB_OBJS)
	-del libcpudb.a
	lib /nologo /subsystem:console /verbose /out:$@ $(CPUDB_OBJS)
	$(RANLIB) libcpudb.a

$(CPUDB_OBJS): $(BX_INCLUDES)

clean:
	-del *.o
	-del *.a

dist-clean: clean
	-del Makefile

###########################################
# dependencies generated by
#  gcc -MM -I.. -I../.. -I../../instrument/stubs *.cc | sed 's/\.cc/.cc/g'
###########################################
athlon64_clawhammer.o: athlon64_clawhammer.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 athlon64_clawhammer.h ../../cpu/cpuid.h
athlon64_venice.o: athlon64_venice.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 athlon64_venice.h ../../cpu/cpuid.h
turion64_tyler.o: turion64_tyler.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 turion64_tyler.h ../../cpu/cpuid.h
phenomx3_8650_toliman.o: phenomx3_8650_toliman.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 phenomx3_8650_toliman.h ../../cpu/cpuid.h
atom_n270.o: atom_n270.cc ../../bochs.h ../../config.h ../../osdep.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
 ../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
 ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h ../crregs.h \
 ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
 ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 ../../param_names.h atom_n270.h
core2_penryn_t9600.o: core2_penryn_t9600.cc ../../bochs.h ../../config.h \
 ../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
 ../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
 ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h ../crregs.h \
 ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
 ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 ../../param_names.h core2_penryn_t9600.h ../../cpu/cpuid.h
core_duo_t2400_yonah.o: core_duo_t2400_yonah.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 ../../param_names.h core_duo_t2400_yonah.h
corei7_sandy_bridge_2600K.o: corei7_sandy_bridge_2600K.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 ../../param_names.h corei7_sandy_bridge_2600K.h ../../cpu/cpuid.h
corei7_ivy_bridge_3770K.o: corei7_ivy_bridge_3770K.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 ../../param_names.h corei7_ivy_bridge_3770K.h ../../cpu/cpuid.h
corei5_arrandale_m520.o: corei5_arrandale_m520.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 ../../param_names.h corei5_arrandale_m520.h ../../cpu/cpuid.h
corei5_lynnfield_750.o: corei5_lynnfield_750.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 ../../param_names.h corei5_lynnfield_750.h ../../cpu/cpuid.h
p2_klamath.o: p2_klamath.cc ../../bochs.h ../../config.h ../../osdep.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
 ../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
 ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h ../crregs.h \
 ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
 ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 p2_klamath.h
p3_katmai.o: p3_katmai.cc ../../bochs.h ../../config.h ../../osdep.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
 ../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
 ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h ../crregs.h \
 ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
 ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h p3_katmai.h
p4_prescott_celeron_336.o: p4_prescott_celeron_336.cc ../../bochs.h \
 ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
 ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
 ../../gui/paramtree.h ../../memory/memory.h ../../pc_system.h \
 ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h \
 ../crregs.h ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h \
 ../icache.h ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 p4_prescott_celeron_336.h ../../cpu/cpuid.h
p4_willamette.o: p4_willamette.cc ../../bochs.h ../../config.h \
 ../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
 ../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
 ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h ../crregs.h \
 ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
 ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 p4_willamette.h
pentium_mmx.o: pentium_mmx.cc ../../bochs.h ../../config.h ../../osdep.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
 ../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
 ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h ../crregs.h \
 ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
 ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 pentium_mmx.h
amd_k6_2_chomper.o: amd_k6_2_chomper.cc ../../bochs.h ../../config.h ../../osdep.h \
 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
 ../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
 ../../memory/memory.h ../../pc_system.h ../../gui/gui.h \
 ../../instrument/stubs/instrument.h ../cpu.h ../cpuid.h ../crregs.h \
 ../descriptor.h ../instr.h ../ia_opcodes.h ../lazy_flags.h ../icache.h \
 ../apic.h ../i387.h ../../fpu/softfloat.h ../../fpu/tag_w.h \
 ../../fpu/status_w.h ../../fpu/control_w.h ../xmm.h ../vmx.h ../svm.h \
 amd_k6_2_chomper.h
